home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / Borland Visual dBASE Professiona v7.0 / DATA1.CAB / Sample_dBASE / Mugs / Mugbars.prg < prev    next >
Text File  |  1997-11-20  |  7KB  |  210 lines

  1. //--------------------------------------------------------------
  2. //
  3. //  MugBars.prg - Mugs Sample Application
  4. //
  5. //  Definitions for the application and form toolbars.
  6. //
  7. //  Dependencies: MUGS.DLL
  8. //                MUGS.PRG
  9. //
  10. //  Visual dBASE Samples Group
  11. //
  12. //  $Revision:   1.3  $
  13. //
  14. //  Copyright (c) 1997, Borland International, Inc. 
  15. //  All rights reserved.
  16. //
  17. //---------------------------------------------------------------
  18.  
  19. class Mugbar( app ) of Toolbar
  20.    // custom properties
  21.    this.app    = app
  22.  
  23.    // native properties
  24.    this.flat := app.toolbars.flat
  25. endclass
  26.  
  27. class MugAppBar( app ) of Mugbar( app )
  28.    this.text := "Application"
  29.    this.tOpen = new ToolButton( this )
  30.    this.tOpen.onClick := { ; this.parent.app.openFileOpenDialog( this.parent.app ) }
  31.    class::reset()
  32.  
  33.    function reset
  34.       if ( this.app.toolbars.large )
  35.          this.tOpen.bitmap := "RESOURCE TL_OPEN MUGSR.DLL"
  36.       else
  37.          this.tOpen.bitmap := "RESOURCE TS_OPEN MUGSR.DLL"
  38.       endif
  39.  
  40.       if ( this.app.toolbars.hints )
  41.          this.tOpen.speedTip := "Open..."
  42.       else
  43.          this.tOpen.speedTip := null  
  44.       endif
  45.       this.flat := this.app.toolbars.flat
  46.    return true
  47.  
  48. endclass
  49.  
  50. class MugDatabar( app ) of Mugbar( app )
  51.    this.onUpdate := class::Databar_onUpdate
  52.    this.text     := "Databar"
  53.  
  54.    // define toolbuttons
  55.  
  56.    this.tPrint = new ToolButton( this )
  57.    this.tPrint.onClick := { ; this.parent.form.print() }
  58.  
  59.    this.tAppend = new ToolButton( this )
  60.    this.tAppend.onClick := ;
  61.        { ; this.parent.form.app.dataAction.appendRow( ;
  62.               this.parent.form ) }
  63.  
  64.    this.tDelete = new ToolButton( this )
  65.    this.tDelete.onClick := ;
  66.       { ; this.parent.form.app.dataAction.deleteRow( ;
  67.               this.parent.form ) }
  68.  
  69.    this.tSave = new ToolButton( this )
  70.    this.tSave.onClick := ;
  71.       { ; this.parent.form.app.dataAction.saveRow( ;
  72.               this.parent.form ) }
  73.  
  74.    this.tAbandon = new ToolButton( this )
  75.    this.tAbandon.onClick := ;
  76.       { ; this.parent.form.app.dataAction.abandonRow( ;
  77.               this.parent.form ) }
  78.  
  79.    this.tSep1 = new ToolButton( this )
  80.    this.tSep1.separator := true
  81.  
  82.    this.tLocate = new ToolButton( this )
  83.    this.tLocate.onClick := ;
  84.       { ; this.parent.form.app.dataAction.locateRow( ;
  85.               this.parent.form ) }
  86.  
  87.    this.tSep2 = new ToolButton( this )
  88.    this.tSep2.separator := true
  89.  
  90.    this.tFirst = new ToolButton( this )
  91.    this.tFirst.onClick = ;
  92.         { ; this.parent.form.app.dataAction.goFirst( ;
  93.                this.parent.form ) }
  94.  
  95.    this.tPrev = new ToolButton( this )
  96.    this.tPrev.onClick := ;
  97.         { ; this.parent.form.app.dataAction.goPrev( ;
  98.                this.parent.form ) }     
  99.  
  100.    this.tNext = new ToolButton( this )
  101.    this.tNext.onClick := ;
  102.        { ; this.parent.form.app.dataAction.goNext( ;
  103.                this.parent.form ) }    
  104.  
  105.    this.tLast = new ToolButton( this )
  106.    this.tLast.onClick := ;
  107.        { ; this.parent.form.app.dataAction.goLast( ;
  108.               this.parent.form ) } 
  109.  
  110.    this.tHelp = new ToolButton( this )
  111.    this.tHelp.onClick := { ; HELP }
  112.  
  113.    class::reset()
  114.  
  115.    function reset
  116.       if ( this.app.toolbars.large )
  117.          with ( this )
  118.             tPrint.bitmap   := "RESOURCE TL_PRINT MUGSR.DLL"
  119.             tAppend.bitmap  := "RESOURCE TL_APPEND"
  120.             tDelete.bitmap  := "RESOURCE TL_DELETE"
  121.             tSave.bitmap    := "RESOURCE TL_SAVE"
  122.             tAbandon.bitmap := "RESOURCE TL_ABANDON"
  123.             tLocate.bitmap  := "RESOURCE TL_LOCATE"
  124.             tFirst.bitmap   := "RESOURCE TL_FIRST"
  125.             tPrev.bitmap    := "RESOURCE TL_PREV"
  126.             tNext.bitmap    := "RESOURCE TL_NEXT"
  127.             tLast.bitmap    := "RESOURCE TL_LAST"
  128.             tHelp.bitmap    := "RESOURCE TL_HELP MUGSR.DLL"
  129.          endwith
  130.       else
  131.          with ( this )
  132.             tPrint.bitmap   := "RESOURCE TS_PRINT MUGSR.DLL"
  133.             tAppend.bitmap  := "RESOURCE TS_APPEND"
  134.             tDelete.bitmap  := "RESOURCE TS_DELETE"
  135.             tSave.bitmap    := "RESOURCE TS_SAVE"
  136.             tAbandon.bitmap := "RESOURCE TS_ABANDON"
  137.             tLocate.bitmap  := "RESOURCE TS_LOCATE"
  138.             tFirst.bitmap   := "RESOURCE TS_FIRST"
  139.             tPrev.bitmap    := "RESOURCE TS_PREV"
  140.             tNext.bitmap    := "RESOURCE TS_NEXT"
  141.             tLast.bitmap    := "RESOURCE TS_LAST"
  142.             tHelp.bitmap    := "RESOURCE TS_HELP MUGSR.DLL"
  143.          endwith
  144.       endif
  145.  
  146.      if ( this.app.toolbars.hints )
  147.         with ( this )
  148.            tPrint.speedTip   := "Print..."
  149.            tAppend.speedTip  := "Append Row"
  150.            tDelete.speedTip  := "Delete Row..."
  151.            tSave.speedTip    := "Save Row"
  152.            tAbandon.speedTip := "Abandon Row"
  153.            tLocate.speedTip  := "Locate Row..."
  154.            tFirst.speedTip   := "First Row"
  155.            tPrev.speedTip    := "Previous Row"
  156.            tNext.speedTip    := "Previous Row"
  157.            tLast.speedTip    := "Last Row"
  158.            tHelp.speedTip    := "Help"
  159.         endwith
  160.      else   
  161.         with ( this )
  162.            tPrint.speedTip   := null
  163.            tAppend.speedTip  := null
  164.            tDelete.speedTip  := null
  165.            tSave.speedTip    := null        
  166.            tAbandon.speedTip := null
  167.            tLocate.speedTip  := null
  168.            tFirst.speedTip   := null
  169.            tPrev.speedTip    := null
  170.            tNext.speedTip    := null
  171.            tLast.speedTip    := null
  172.            tHelp.speedTip    := null
  173.         endwith
  174.      endif
  175.      this.flat := this.app.toolbars.flat
  176.  
  177.    return true 
  178.  
  179.    function Databar_onUpdate
  180.       LOCAL bRowActive, bAtFirst, bAtLast
  181.       bActiveRow = false
  182.       bAtFirst   = true
  183.       bAtLast    = true
  184.  
  185.       if ( TYPE("this.form.rowset.parent.active") == "L" )
  186.          bActiveRow := this.form.rowset.parent.active
  187.       endif
  188.  
  189.       if ( bActiveRow )
  190.          bAtFirst := this.form.rowset.atFirst()
  191.          bAtLast  := this.form.rowset.atLast()
  192.       endif
  193.  
  194.       with ( this )
  195.          tPrint.enabled   := bActiveRow
  196.          tAppend.enabled  := bActiveRow
  197.          tDelete.enabled  := bActiveRow
  198.          tSave.enabled    := bActiveRow
  199.          tAbandon.enabled := bActiveRow
  200.          tLocate.enabled  := bActiveRow
  201.          tFirst.enabled   := ( not bAtFirst )
  202.          tPrev.enabled    := ( not bAtFirst )
  203.          tNext.enabled    := ( not bAtLast )
  204.          tLast.enabled    := ( not bAtLast )     
  205.       endwith
  206.  
  207.    return ( bActiveRow )
  208.  
  209. endclass
  210.